<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<meta name="renderer" content="webkit">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
		<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
		<link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
		<link rel="stylesheet" href="../../css/common.css" media="all">
	</head>
	<body>
		<div class="layui-fluid">
			<div class="layui-row layui-col-space15">
				<div class="layui-col-md12">
					<div class="layui-card">
						<div class="layui-card-header">
							<span class="marign_right10">应用模块</span>
							<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" id="add">添加</button> -->
							<!-- <button class="layui-btn layui-btn-danger layui-btn-sm" id="del">删除</button> -->
						</div>
						<div class="layui-card-body">
							<!-- 搜索 -->
							<form class="layui-form search" id="form" onsubmit="return false" action="##"> 
								<div class="layui-inline search_inline">
									<label class="layui-form-label">查询下级：</label>
									<div class="layui-input-inline">
										<input class="layui-input" placeholder="查询下级" name="fid" autocomplete="off">
									</div>
								</div>
								<div class="layui-inline search_inline">
									<label class="layui-form-label">标题：</label>
									<div class="layui-input-inline">
										<input class="layui-input" placeholder="标题" name="keyword" autocomplete="off">
									</div>
								</div> 
								<button class="layui-btn search_inline" lay-submit="" lay-filter="search" data-type="reload">搜索</button>
								<button class="layui-btn layui-btn-primary search_inline" type="reset">重置</button>
								<button class="layui-btn layui-btn-primary search_inline" onclick="openAll();">展开或折叠全部</button>
							</form>
							<!-- 搜索 -->

							<table class="layui-hide" id="test-table-operate" lay-filter="test-table-operate"></table>
							
							
							<script type="text/html" id="test-table-operate-barDemo">
								<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="add">添加下级</a>
							  <a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
							   <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a> 
							</script>
						</div>
					</div>
				</div>
			</div>
		</div>

		<script src="../../layuiadmin/layui/layui.js"></script>
		<script src="../../js/jquery.min.js"></script>
		<script src="../../js/common.js"></script>
		<script>
			var editObj = null,
				ptable = null,
				treeGrid = null,
				tableId = 'test-table-operate',
				layer = null;
			layui.config({
				base: '../../layuiadmin/' //静态资源所在路径
			}).extend({
				index: 'lib/index' //主入口模块
			}).use(['index', 'table', 'form', 'treeGrid'], function() {
				var table = layui.table,
					$ = layui.$,
					form = layui.form,
					treeGrid = layui.treeGrid,
					admin = layui.admin;

				var _data = {
					fid: '',
				}
				initdata();

				function initdata() {
					ptable = treeGrid.render({
						id: tableId,
						elem: '#' + tableId,
						url: server.queryshopmodulelist,
						cellMinWidth: 100,
						idField: 'id', //必須字段
						treeId: 'id', //树形id字段名称
						treeUpId: 'fid', //树形父id字段名称
						treeShowName: 'title', //以树形式显示的字段
						heightRemove: [".dHead", 10], //不计算的高度,表格设定的是固定高度，此项不生效
						isFilter: false,
						iconOpen: true, //是否显示图标【默认显示】
						isOpenDefault: true, //节点默认是展开还是折叠【默认展开】
						loading: true,
						method: 'get',
						height: 'full-150',
						cols: [
							[{
								type: 'numbers'
							}, {
								width: 180,
								title: '操作',
								toolbar: '#test-table-operate-barDemo',
							},
							{
								width: 120,
								title: '状态',
								field: 'status',
								templet: function(d) {
									// console.log(d.status)
									var html = ''
									if (d.status == 1) {
										html = '<input type="checkbox" name="status" value=' + d.id +
										' lay-skin="switch" lay-text="启用|停用" lay-filter="status" checked>'
									} else {
										html = '<input type="checkbox" name="status" value=' + d.id +
										' lay-skin="switch" lay-text="启用|停用" lay-filter="status">'
									}
									return html;
									// var html = ''
									// for(var i = 0; i < maplist.on_off.length; i++) {
									// 	if(maplist.on_off[i].value == String(d.status)) {
									// 		html = '<input type="checkbox" name="status" value=' + d.id +
									// 			' lay-skin="switch" lay-text="启用|停用" lay-filter="status" checked>'
									// 	} else {
									// 		html = '<input type="checkbox" name="status" value=' + d.id +
									// 			' lay-skin="switch" lay-text="启用|停用" lay-filter="status">'
									// 	}
									// }
									// return html;
								}
							},
							{
								field: 'title',
								width: 280,
								title: '标题',
								sort: true
							}, {
								field: 'name',
								width: 160,
								title: '名称'
							}, {
								field: 'id',
								title: '编号',
								width: 280,
								sort: true
							}, {
								field: 'fid',
								title: '上级编号',
								width: 280,
								sort: true
							}, {
								field: 'sid',
								width: 280,
								title: '层级编号'
							}, {
								field: 'icon',
								width: 100,
								title: '图标'
							}, {
								field: 'path',
								width: 160,
								title: '目录'
							}, {
								field: 'tpl',
								width: 100,
								title: '模板'
							}, {
								field: 'url',
								width: 180,
								title: '链接'
							}, {
								field: 'notes',
								width: 100,
								title: '备注'
							}, {
								field: 'oid',
								width: 100,
								title: '排序'
							}]
						],
						page: false,
						where: _data,
						parseData: function(res) { //数据加载后回调
							return {
								"code": res.code, //解析接口状态
								"msg": res.msg, //解析提示文本
								"count": res.module_list.pager.total, //解析数据长度
								"data": res.module_list.data //解析数据列表
							};
						},
						/* onClickRow: function(index, o) {
							console.log(index, o, "单击！");
						},
						onDblClickRow: function(index, o) {
							console.log(index, o, "双击");
						},
						onCheck: function(obj, checked, isAll) { //复选事件
							console.log(obj, checked, isAll, "复选");
						},
						onRadio: function(obj) { //单选事件
							console.log(obj, "单选");
						} */
					});

					treeGrid.on('tool(' + tableId + ')', function(obj) {
						var data = obj.data;
						if (obj.event === 'del') { //删除行
//							del(obj);
							$.get(server.deletesubshopmodule, {
								id: data.id,
								status: status
							}, function(res, status) {
								if(status == 'success') {
									if(res.code == 0) {
										layer.alert('操作成功', function() {
											layer.closeAll();
										});
									} else {
										layer.msg(res.msg);
										layer.closeAll('loading');
									}
									initdata();
								} else {
									layer.msg('服务器连接错误');
								}
							});
						} else if (obj.event === "add") { //添加行
							layer.open({
								type: 2,
								title: '添加下级',
								shadeClose: false,
								shade: 0.5,
								maxmin: true, //开启最大化最小化按钮
								area: ['1200px', '850px'],
								content: 'model/edit_add.html?fid=' + data.id,
								end: function() {
									initdata()
								}
							});
						} else if (obj.event === 'edit') {
							layer.open({
								type: 2,
								title: '修改',
								shadeClose: false,
								shade: 0.5,
								maxmin: true, //开启最大化最小化按钮
								area: ['1200px', '850px'],
								content: 'model/edit_add.html?id=' + data.id,
								end: function() {
									initdata()
								}, 
							});
						}
					});
				}
				//监听搜索
				form.verify({
					memberid: function(value, item) { //value：表单的值、item：表单的DOM对象
						if (!value) {
							return '姓名不能为空';
						}
					}
				});
				
				function diao() {
					alert(1)
				}
				
				//监听搜索
				form.on('submit(search)', function(data) {
					_data.fid = data.field.fid
					Object.assign(_data, data.field)
					initdata();
					return false;
				});
				
				form.on('switch(status)', function(obj){
					layer.confirm('确定要修改状态？',function(index){
						if (obj.elem.checked) {
							// console.log('开启')
							submit2(obj.value, "1")
						} else {
							// console.log('禁用')
							submit2(obj.value, "0")
						}
					}, function(){
						initdata();
						layer.msg('取消操作');
					})
				})
				
				
				function submit2(id,status) {
					$.post(server.editsubshopmodule,{ id, status },function(res, status){
						if (status == 'success') {
							if (res.code == 0) {
								closeloading();
								layer.alert('操作成功', function() {
									layer.closeAll()
									layui.table.reload('test-table-operate');
								});
							} else {
								closeloading();
								layer.msg(res.msg);
							}
						} else {
							layer.msg('服务器连接错误');
						}
					})
				}
				
				$("button[type=reset]").on("click", function() {
					_data = {}
					initdata();
					document.getElementById("form").reset();
				});

				//监听表格复选框选择
				table.on('checkbox(test-table-operate)', function(obj) {
					console.log(obj)
				});
				
				window.openAll = function() {
					var treedata = treeGrid.getDataTreeList(tableId);
					treeGrid.treeOpenAll(tableId, !treedata[0][treeGrid.config.cols.isOpen]);
				}

				//监听工具条
				table.on('tool(test-table-operate)', function(obj) {
					var data = obj.data;
					if (obj.event === 'del') {
						layer.confirm('真的删除行么', function(index) {
							obj.del();
							layer.close(index);
						});
						
						
					} else if (obj.event === 'sreen') {
						_data.fid = data.id;
						$('input[name=fid]').val(data.id);
						initdata();
					} else if (obj.event === 'detail') {
						layer.open({
							type: 2,
							title: '查看下级',
							shadeClose: false,
							shade: 0.5,
							maxmin: true, //开启最大化最小化按钮
							area: ['900px', '80%'],
							content: 'model/module_detail.html?id=' + data.id,
							end: function() {}
						});
					} else if (obj.event === 'add') {
						layer.open({
							type: 2,
							title: '添加下级',
							shadeClose: false,
							shade: 0.5,
							maxmin: true, //开启最大化最小化按钮
							area: ['800px', '850px'],
							content: 'model/edit_add.html?fid=' + data.id,
							end: function() {}
						});
					} else if (obj.event === 'edit') {
						layer.open({
							type: 2,
							title: '修改',
							shadeClose: false,
							shade: 0.5,
							maxmin: true, //开启最大化最小化按钮
							area: ['800px', '850px'],
							content: 'model/edit_add.html?id=' + data.id,
							end: function() {},
							success: function(layero, index) {
								console.log(data);
								var body = layer.getChildFrame('body', index);
								body.find("#sjid").html(data.fid);
								body.find("input[name=fid]").val(data.fid);
								body.find("input[name=icon]").val(data.icon);
								body.find("input[name=name]").val(data.name);
								body.find("input[name=title]").val(data.title);
								body.find("input[name=path]").val(data.path);
								body.find("input[name=tpl]").val(data.tpl);
								body.find("input[name=url]").val(data.url);
								body.find("input[name=notes]").val(data.notes);
								body.find("input[name=oid]").val(data.oid);
							}
						});
					}
				});
				
				//监听行单击事件（单击事件为：rowDouble）
				/* table.on('row(test-table-operate)', function(obj){
					var data = obj.data;
					
					_data.fid = data.id;
					$('input[name=fid]').val(data.id);
					initdata();
					
					//标注选中样式
					obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
				  });
 */
				var $ = layui.$,
					active = {
						getCheckData: function() { //获取选中数据
							var checkStatus = table.checkStatus('test-table-operate'),
								data = checkStatus.data;
							layer.alert(JSON.stringify(data));
						},
						getCheckLength: function() { //获取选中数目
							var checkStatus = table.checkStatus('test-table-operate'),
								data = checkStatus.data;
							layer.msg('选中了：' + data.length + ' 个');
						},
						isAll: function() { //验证是否全选
							var checkStatus = table.checkStatus('test-table-operate');
							layer.msg(checkStatus.isAll ? '全选' : '未全选')
						}
					};

				$('.test-table-operate-btn .layui-btn').on('click', function() {
					var type = $(this).data('type');
					active[type] ? active[type].call(this) : '';
				});
				$('#add').on('click', function() {
					// console.log('添加')
					layer.open({
						type: 2,
						title: '添加',
						shadeClose: false,
						shade: 0.5,
						maxmin: true, //开启最大化最小化按钮
						area: ['800px', '850px'],
						content: 'model/edit_add.html',
						end: function() {
							initdata();
						}
					});
				});
				$('#del').on('click', function() {
					layer.confirm('真的删除数据吗？', function(index) {
						// obj.del();
						layer.close(index);
					});
				});
			});
		</script>
	</body>
</html>
